package haida.pym_system.site.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import haida.pym_system.site.pojo.Site;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author 大龙
 * @since 2020-09-28
 */
public interface SiteMapper extends BaseMapper<Site> {
    /**
     * 添加场地
     */
    void addSite(Site site);

    /**
     * 删除场地
     *
     * @param siteID
     */
    void deleteSite(@Param("siteID") int siteID);

    /**
     * 修改场地信息
     *
     * @param site
     * @return
     */
    void updateSite(Site site);

    /**
     * 查询全部场地
     *
     * @return
     */
    List<Site> findAllSite(Page<Site> pagination);

    /**
     * 查询一个场地
     *
     * @param siteID
     * @return
     */
    Site findASite(@Param("siteID") int siteID);

    /**
     * 查询所有的可用的场地
     *
     * @return
     */
    List<Site> findAllAbleSite();

    @Select("SELECT * FROM site s LEFT JOIN site_user u ON s.creater = u.userID")
    List<Site> selectUserListPage(Page<Site> pagination);
}
